// pages/calc/calc.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    font_Size:60,
    screenData: '0',
    idb: "back",//回退
    idc: "clear",//清除
    idadd: "＋",
    id9: "9",
    id8: "8",
    id7: "7",
    idj: "－",
    id6: "6",
    id5: "5",
    id4: "4",
    idx: "×",
    id3: "3",
    id2: "2",
    id1: "1",
    iddiv: "÷",
    id0: "0",
    idd: ".",
    ide: "＝",
    operaSymbo: {
        "＋": "+",
        "－": "-",
        "×": "*",
        "÷": "/",
        ".": "."
    },
    lastIsOperaSymbo: false,//最后等位符号
    arr: [],
    logs:[]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  /**
   * 计算方法
   */
  clickBtn(event) {
    // console.log(event.target.id)
    const id = event.target.id
    if (id === this.data.idc) {//判断是否清零
        this.setData({
            screenData: '0'
        })
        this.data.arr.length = 0
    } 
    else if (id === this.data.idb) {//回退
        var data = this.data.screenData
        if (data == '0') {
            return
        }
        data = data.substring(0, data.length - 1)
        if (data == '') {
            data = '0'
        }
        this.setData({
            screenData: data
        })

        this.data.arr.pop()
    } 
    else if (id === this.data.ide) {//等号
        var screenData = this.data.screenData
        if (screenData == '0') {
            return
        }

        var num = ''
        var lastOperator = ''
        var optarr = []
        var arr = this.data.arr//点击内容
        for (var i in arr) {
            if (isNaN(arr[i]) === false || arr[i] == this.data.idd) {
                num += arr[i]
                // console.log('num:', num)
            } else {
                lastOperator = arr[i]
                optarr.push(num)
                optarr.push(lastOperator)

                num = ""
            }
        }
        optarr.push(Number(num))

        var result = Number(optarr[0]) * 1.0
        for (var i = 1; i < optarr.length; i++) {//计算
            if (isNaN(optarr[i])) {
                if (optarr[1] == this.data.idadd) {
                    result += Number(optarr[i + 1])
                } else if (optarr[1] === this.data.idj) {
                    result -= Number(optarr[i + 1])
                } else if (optarr[1] === this.data.idx) {
                    result *= Number(optarr[i + 1])
                } else if (optarr[1] === this.data.iddiv) {
                    result /= Number(optarr[i + 1])
                }
            }
        }
        // console.log('screenData:', screenData)
        this.data.logs.push(screenData + '=' + result)
        wx.setStorageSync('calclogs', this.data.logs)

        this.data.arr.length = 0
        this.data.arr.push(result)

        this.setData({
            screenData: result + ''
        })
    } 
    else {
        if (this.data.operaSymbo[id]) {
            //进行小于1的小数点运算
            if( this.data.screenData == '0' && id==this.data.idd && this.data.arr.length==1){
              this.data.arr.push("0")
              this.data.arr.push(".")
              this.setData({
                screenData: "0"+"."
              })
            //   console.log(arr)
              return
            }
            
            if (this.data.lastIsOperaSymbo || this.data.screenData == '0') {//不出现运算符 或者 显示0
                return
            }
        }
        var sd = this.data.screenData
        if (sd === "0") {
            this.setData({
                screenData: id
            })
            console.log("000")
        } else {
          console.log("其他按了")
            this.setData({
                screenData: sd + id
            })
        }
        this.data.arr.push(id)
        if (this.data.operaSymbo[id]) {
            this.setData({
                lastIsOperaSymbo: true
            })
        } else {
            this.setData({
                lastIsOperaSymbo: false
            })
        }
    }


    // if(){//判断第一下是不是.

    // }
    console.log('arr:', this.data.arr)
    this.ChangfontSize()
},
  /**
   * 跳转到历史界面
   */
  toHistory() {//历史
    wx.navigateTo({
      url: '../history/history',
    })
  },

  /**
   * 字体随字数改变而改变
   */
   ChangfontSize(){
     var isOK = false//改变大小的开关
     if(this.data.screenData.length /9 <= 1){       //小于这个不变大小
      //  console.log(this.data.screenData/9)
      isOK=false
     }
     else{
       isOK=true        //大于这个变大小
     }
     console.log(isOK)
      this.setData({
        font_Size : isOK?   60 / (parseInt(this.data.screenData.length / 9)+1 ): this.data.font_Size=60
      })
      // console.log(parseInt(this.data.screenData.length / 9))//取整数部分
   } ,
})